C++14之std::exchange的使用和原理分析 您所在的位置:网站首页 std move的作用 C++14之std::exchange的使用和原理分析

C++14之std::exchange的使用和原理分析

2024-07-08 04:05| 来源: 网络整理| 查看: 265

目录

1.概述

2.使用

2.1.交换操作

2.2.移动语义

3.原理

4.综合示例

5.总结

1.概述

   std::exchange 是 C++ 标准库中的一个实用函数,它的主要作用是替换一个对象的值,并返回该对象的旧值。这个函数在 C++14 中引入,主要用于简化和优化代码。

        它的原型定义如下:

        这个函数接受两个参数:一个是要替换值的对象 obj,另一个是新的值 new_value。函数将 obj 的值替换为 new_value,并返回 obj 的旧值。

注意: T 必须满足可移动构造 (MoveConstructible) 。而且必须能移动赋值 U 类型对象给 T 类型对象

2.使用 2.1.交换操作

        在std::exchage未出现之前, 我们交换两个变量的值,需要先定义一个临时的中间变量,但是使用std::exchange,你可以更简洁地完成这个操作;这对于实现一些特定的算法,尤其是需要保持变量旧值的算法时非常有用。示例如下:

#include #include #include int main() { std::string name = "Alice"; std::string new_name = "Bob"; std::string old_name = std::exchange(name, new_name); std::cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有